Skip to content

chore: wk webview experiment#40812

Open
pavelfeldman wants to merge 6 commits into
microsoft:mainfrom
pavelfeldman:wk_wv
Open

chore: wk webview experiment#40812
pavelfeldman wants to merge 6 commits into
microsoft:mainfrom
pavelfeldman:wk_wv

Conversation

@pavelfeldman
Copy link
Copy Markdown
Member

No description provided.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@pavelfeldman pavelfeldman changed the title chrome: wk webview experiment chore: wk webview experiment May 22, 2026
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Boots an iOS Simulator, launches Mobile Safari, exposes its Web Inspector
through ios-webkit-debug-proxy on TCP, discovers the per-tab WebSocket
URL, and runs tests/webview against it. DEBUG=pw:protocol surfaces every
wvConnection send/receive; the protocol log is tailed inline and
uploaded as an artifact.

Temporarily disables pull_request triggers on the other workflows so
this branch doesn't churn CI on every push. Markers note "restore before
merge".
@github-actions
Copy link
Copy Markdown
Contributor

Test results for "MCP"

7181 passed, 1113 skipped


Merge workflow run.

iOS Mobile Safari's per-page inspector channel speaks the wrapped form
of the WebKit Inspector protocol: outgoing commands must come through
Target.sendMessageToTarget, and responses arrive in
Target.dispatchMessageFromTarget. ios-webkit-debug-proxy forwards the
WebSocket bytes transparently, so wk_wv has to do the wrapping itself.

WVConnection now exposes an outerSession that speaks the raw transport
(and handles Target.* lifecycle events) plus a lazily-created
browserSession whose _rawSend wraps every message into
Target.sendMessageToTarget. WVBrowser.connectOverCDP awaits the first
Target.targetCreated before constructing WVPage so that Page.* and
Runtime.* commands flow on the wrapping session.
Runs only tests/page/page-check.spec.ts (~17 tests) so the first CI run
focuses on validating the protocol wrapping against Mobile Safari rather
than chasing mobile-vs-desktop test expectation drift. Widen once the
spike proves the connection path.
@microsoft microsoft deleted a comment from github-actions Bot May 23, 2026
iPhone 15 isn't pre-installed on the macos-15-arm64 runner; the action
errors out with "No devices found for the matching requirements" per
run 26318594713. The runner ships iPhone 16/17 series with iOS 18.x and
iOS 26.x pre-paired, so pin to iPhone 16 + iOS 18.6 for predictable
boots.
ios_webkit_debug_proxy can no longer auto-discover the iOS Simulator on
modern macOS — Apple now exposes webinspectord over a launchd-owned
Unix socket instead of a TCP port. Run 26343302032 showed the proxy
booted with an empty device list at :9221.

Locate the socket with 'lsof -aUc launchd_sim' (matching
com.apple.webinspectord_sim.socket), retry a few times in case it
appears late, and feed it to the proxy via -s "unix:<path>".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants